package com.xtm.exercise.base.A12threadDemo.ThreadSafe.test;

import org.junit.Test;

public class ThreadDemo1 {

	/*
	 * 编写程序，创建两个线程对象，一根线程循环输出“播放背景音乐”，另一根线程循环输出
	 * “显示画面”，要求线程实现Runnable接口，且使用匿名内部类实现
	*/
	@Test
	public void test01(){
		new Thread(new Runnable(){

			@Override
			public void run() {
				while(true){
					System.out.println("播放背景音乐");
				}
			}

		}).start();
		new Thread(new Runnable(){

			@Override
			public void run() {
				while(true){
					System.out.println("显示画面");
				}
			}

		}).start();
	}

	/**
	 * 创建一个子线程，死循环输出子线程执行，主线程中开启子线程，然后主线程休眠3秒钟，主线程休眠结束后，要求子线程执行也结束（提示：设置子线程为守候线程）
	 * @throws InterruptedException
	 */
	@Test
	public void test02() throws InterruptedException{
		Thread t = new Thread(new Runnable(){

			@Override
			public void run() {
				while(true){
					System.out.println("子线程执行");
				}
			}

		});
		t.setDaemon(true);  //将该线程标记为守护线程
		t.start();
		Thread.sleep(3000);
	}
}
